package org.htw.osgi.renderservice.essentials;

/**
 * Implementiert die die prioritätsbezogenen Methoden des Interfaces
 * IPriorityInterceptor.
 * 
 * @author  Benjamin Friedrich (<a href="mailto:benjamin_friedrich@gmx.de">mailto:benjamin_friedrich@gmx.de</a>)
 * @version 1.0  Juni 2009
 */
public abstract class APriorityInterceptor 
implements 			  IPriorityInterceptor
{
	private final Integer priority;
	 
	/**
	 * Konstruiert ein APriorityInterceptor-Objekt anhand der
	 * übergebenen Priorität.
	 * 
	 * @param priority Priorität des Interceptors im Service
	 */
	public APriorityInterceptor(final Integer priority)
	{
		this.priority = priority;
	}
	
	/*
	 * (non-Javadoc)
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 */
	@Override
	public final int compareTo(final IPriorityInterceptor other) 
	{
		return this.priority.compareTo(other.getPriority());
	}
	
	/*
	 * (non-Javadoc)
	 * @see org.htw.osgi.renderservice.essentials.IPriorityInterceptor#getPriority()
	 */
	@Override
	public final Integer getPriority()
	{
		return this.priority;
	}
}